package br.edu.senai.view;

import br.edu.senai.controller.VendaDAO;
import br.edu.senai.model.ItemVenda;
import br.edu.senai.model.Produto;
import br.edu.senai.model.Venda;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

@ManagedBean
@SessionScoped
public class VendaBean implements Serializable {
    private List<ItemVenda> lItens = new ArrayList<ItemVenda>();
    private VendaDAO vDAO = new VendaDAO();
    private Double valorPedido = 0D;
    
    public void comprar(Produto p) {
        valorPedido += p.getPreco();
        lItens.add(new ItemVenda(p));
    }
    
    public void fecharPedido() {
        Venda venda = new Venda();
        venda.setDataVenda(new Date());
        venda.setItens(lItens);
        venda.setValor(valorPedido);
        
        for (ItemVenda itemVenda : lItens) {
            itemVenda.setIdVenda(venda);
        }
        
        vDAO.salvar(venda);
        lItens.removeAll(lItens);
        valorPedido = 0D;
    }
    
    public void cancelarPedido() {
        lItens.removeAll(lItens);
        valorPedido = 0D;
    }

    public Double getValorPedido() {
        return valorPedido;
    }
}
